3D Display Method and User Terminal

ABSTRACT

A three-dimensional (3D) display method and system for #D display, the method including detecting a viewing angle of a user for a display screen, determining an angle of 3D projection based on the viewing angle, and performing, based on the angle of 3D projection, 3D display of content that needs to be displayed.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a National Stage of International Application No.PCT/CN2016/101374, filed Sep. 30, 2016, which is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

The present invention relates to the field of terminal technologies, andin particular, to a 3D display method and a user terminal.

BACKGROUND

A three-dimensional (3D) display technology can make an output imagebecome stereoscopic and vivid, so that a viewer has a feeling of beingpersonally on a scene. Currently, the 3D display technology is widelyapplied to user terminals (terminals such as a mobile phone, a computer,and a television).

However, it is found in practice currently that a user needs to viewcontent of 3D display from a fixed angle to have optimal 3D experience.That is, 3D display of a user terminal cannot flexibly adapt todifferent viewing locations or viewing angles of a user. The 3D displaytechnology needs to be further improved.

SUMMARY OF THE INVENTION

Embodiments of the present invention disclose a 3D display method and auser terminal, to dynamically adjust an angle of 3D projection (3DProject Angle) based on a viewing angle of a user, to resolve a problemof being incapable of flexibly adapting to different viewing locationsor viewing angles of the user when 3D display is performed at a fixedangle of 3D projection.

According to a first aspect, a 3D display method is provided and isapplied to a user terminal. The method includes detecting, by the userterminal, a viewing angle of a user for a display screen, determining,by the user terminal, an angle of 3D projection based on the viewingangle, and performing, by the user terminal based on the angle of 3Dprojection, 3D display on content that needs to be displayed.

In an optional implementation, the viewing angle may be a medial-axisangle of view, the medial-axis angle of view is an angle between amidpoint of both eyes and a central vertical line, and the centralvertical line is a line perpendicular to a central location on thedisplay screen.

In an optional implementation, the viewing angle may include a left-eyeangle of view and a right-eye angle of view, the left-eye angle of viewis an angle between a midpoint of a left-eye pupil and a centralvertical line, the right-eye angle of view is an angle between amidpoint of a right-eye pupil and the central vertical line, and thecentral vertical line is a line perpendicular to a central location onthe display screen.

It can be learned that by means of implementing the method according tothe first aspect, the user terminal can dynamically adjust the angle of3D projection for 3D display based on the viewing angle of the user.This can flexibly adapt to different viewing locations or viewing anglesof the user, making a 3D display effect vivider and a 3D image viewed bythe user clearer, thereby improving the 3D display effect.

In an optional implementation, when the viewing angle detected by theuser terminal is a medial-axis angle of view, the detecting, by the userterminal, a viewing angle of a user for a display screen may includedetecting, by the user terminal, an angle of inclination of the userterminal relative to a plumb line, an angle of rotation at which theuser terminal rotates around an axis of symmetry, and an angle betweenthe midpoint of both eyes and a camera, and performing, by the userterminal, calculation based on the angle of inclination, the angle ofrotation, and the angle between the midpoint of both eyes and thecamera, to obtain the medial-axis angle of view.

By means of implementing this implementation, the user terminal canaccurately determine the medial-axis angle of view.

In an optional implementation, the user terminal may detect in real timethe angle of inclination of the user terminal relative to the plumbline, the angle of rotation at which the user terminal rotates aroundthe axis of symmetry, and the angle between the midpoint of both eyesand the camera. In this way, after the viewing angle of the userchanges, the user terminal can detect a new medial-axis angle of view ofthe user in a timely manner, and further, adjust the angle of 3Dprojection based on the new medial-axis angle of view in a timelymanner.

In an optional implementation, the detecting, by the user terminal, anangle of inclination of the user terminal relative to a plumb line, anangle of rotation at which the user terminal rotates around an axis ofsymmetry, and an angle between the midpoint of both eyes and a cameramay include detecting, by the user terminal, the angle of inclination ofthe user terminal relative to the plumb line, and the angle of rotationat which the user terminal rotates around the axis of symmetry, anddetecting the angle between the midpoint of both eyes and the camerawhen the user terminal detects that a change in the angle of inclinationor the angle of rotation is greater than a preset angle. In this way,during 3D display, the camera may not need to remain enabled to takephotographs of the user to calculate the angle between the midpoint ofboth eyes of the user and the camera, thereby helping save a CPUresource.

Optionally, a specific implementation of detecting, by the userterminal, whether a change in the angle of inclination or the angle ofrotation is greater than a preset angle may be determining, by the userterminal, whether an absolute value of a difference between a mostrecently detected angle of inclination and a first angle of inclinationexceeds the preset angle, where the first angle of inclination is anangle of inclination that is detected when the angle between themidpoint of both eyes of the user and the camera is detected last time,or determining, by the user terminal, whether an absolute value of adifference between a most recently detected angle of rotation and afirst angle of rotation exceeds the preset angle, where the first angleof rotation is an angle of rotation that is detected when the anglebetween the midpoint of both eyes of the user and the camera is detectedlast time.

In an optional implementation, the user terminal may specificallyperform calculation according to the following formula 1 to obtain themedial-axis angle of view. Formula 1: θ=√{square root over (α²)}+β²+λ. θis the medial-axis angle of view. α is the angle of inclination of theuser terminal relative to the plumb line. β is the angle of rotation atwhich the user terminal rotates around the axis of symmetry. x is acorrection parameter of the preset angle. λ is the angle between themidpoint of both eyes and the camera.

By means of the formula 1, the user terminal can accurately determinethe medial-axis angle of view.

In an optional implementation, the user terminal may specificallyperform calculation according to the following formula 2 to obtain themedial-axis angle of view. Formula 2: θ=√{square root over((α−ε)²+β²)}+x*λ. θ is the medial-axis angle of view. α is the angle ofinclination of the user terminal relative to the plumb line. β is theangle of rotation at which the user terminal rotates around the axis ofsymmetry. x is a correction parameter of the preset angle. λ is theangle between the midpoint of both eyes and the camera. ε is a presetangle value, or may be an empirical value. For example, ε may be 45° or40°.

By means of the formula 2, the user terminal can accurately determinethe medial-axis angle of view.

In an optional implementation, the angle of 3D projection includes aleft-eye angle of 3D projection and a right-eye angle of 3D projection,and the determining, by the user terminal, an angle of 3D projectionbased on the viewing angle may include determining, by the userterminal, the left-eye angle of 3D projection based on the detectedmedial-axis angle of view and a preset left-eye angle of adjustment, anddetermining, by the user terminal, the right-eye angle of 3D projectionbased on the detected medial-axis angle of view and a preset right-eyeangle of adjustment.

By means of implementing this implementation, the user terminal canaccurately determine the left-eye angle of 3D projection and theright-eye angle of 3D projection.

In an optional implementation, the preset left-eye angle of adjustmentis a preset left-eye angle of adjustment that corresponds to themedial-axis angle of view detected by the user terminal and that is in aprestored correspondence between a preset medial-axis angle of view anda preset left-eye angle of adjustment, and the preset right-eye angle ofadjustment is a preset right-eye angle of adjustment that corresponds tothe medial-axis angle of view detected by the user terminal and that isin a prestored correspondence between a preset medial-axis angle of viewand a preset right-eye angle of adjustment.

In this way, a plurality of groups of preset left-eye angles ofadjustment and preset right-eye angles of adjustment are stored, and acorresponding preset left-eye angle of adjustment and a correspondingpreset right-eye angle of adjustment are obtained based on a currentlydetected medial-axis angle of view, so that a more accurate presetleft-eye angle of adjustment and a more accurate preset right-eye angleof adjustment can be obtained, and the left-eye angle of 3D projectionand the right-eye angle of 3D projection can be more accuratelyobtained.

In an optional implementation, the angle of 3D projection includes aleft-eye angle of 3D projection and a right-eye angle of 3D projection,and when the viewing angle includes a left-eye angle of view and aright-eye angle of view, the determining, by the user terminal, an angleof 3D projection based on the viewing angle may include determining, bythe user terminal, the left-eye angle of view as the left-eye angle of3D projection, and determining the right-eye angle of view as theright-eye angle of 3D projection.

In this way, the left-eye angle of 3D projection and the right-eye angleof 3D projection can be accurately determined.

In an optional implementation, when the angle of 3D projection includesa left-eye angle of 3D projection and a right-eye angle of 3Dprojection, the performing, by the user terminal based on the angle of3D projection, 3D display on content that needs to be displayed mayinclude performing, by the user terminal based on the left-eye angle of3D projection and the right-eye angle of 3D projection, drawing on thecontent that needs to be displayed, and displaying a drawing result byusing a 3D display.

By means of implementing this implementation, the user terminal maydetermine different angles of 3D projection as the viewing angle of theuser varies. Therefore, the user terminal can display images of thedifferent angles of 3D projection by using the 3D display, so that the3D display effect is vivider and an image viewed by the user is clearer,thereby improving the 3D display effect.

In an optional implementation, when the viewing angle detected by theuser terminal is a medial-axis angle of view, the determining, by theuser terminal, an angle of 3D projection based on the viewing angle mayinclude determining, by the user terminal, the medial-axis angle of viewas the angle of 3D projection.

By means of implementing this implementation, the user terminal canaccurately determine the angle of 3D projection.

In an optional implementation, if the user terminal determines themedial-axis angle of view as the angle of 3D projection, the performing,by the user terminal based on the angle of 3D projection, 3D display oncontent that needs to be displayed may include performing, by the userterminal based on the angle of 3D projection, drawing on the contentthat needs to be displayed, and displaying a drawing result by using a2D display or a holographic display.

By means of implementing this implementation, the user terminal maydetermine different angles of 3D projection as the viewing angle of theuser varies. Therefore, the user terminal can display images ofdifferent angles by using the 2D display or the holographic display, sothat the 3D display effect is vivider, thereby improving the 3D displayeffect.

According to a second aspect, a user terminal is provided. The userterminal has a function of implementing an action of the user terminalaccording to the first aspect or a possible implementation of the firstaspect. The function may be implemented by hardware, or may beimplemented by hardware executing corresponding software. The hardwareor software includes one or more units corresponding to the foregoingfunction. The unit may be software and/or hardware. Based on a sameinventive concept, for a principle of resolving a problem by the userterminal and beneficial effects, refer to the first aspect, possiblemethod implementations of the first aspect, and beneficial effectsarising. Therefore, for an implementation of the user terminal, refer tothe first aspect and the possible method implementations of the firstaspect. Details are not repeated herein again.

According to a third aspect, a user terminal is provided. The userterminal includes a display, one or more processors, a memory, a bussystem, and one or more programs. The one or more processors and thememory are connected to each other by using the bus system. The one ormore programs are stored in the memory. The one or more programs includeinstructions. The processor invokes the instructions stored in thememory to implement the solution in a method design of the first aspect.For an implementation of resolving a problem by the user terminal andbeneficial effects, refer to the first aspect, possible methodimplementations of the first aspect, and beneficial effects. Therefore,for an implementation of the user terminal, refer to an implementationof the method. Details are not repeated herein again.

According to a fourth aspect, a computer readable storage medium storingone or more programs is provided. The one or more programs includeinstructions. When being executed by a user terminal, the instructionscause the user terminal to perform the method according to the firstaspect or a possible implementation of the first aspect.

BRIEF DESCRIPTION OF THE DRAWINGS

To describe the technical solutions in the embodiments of the presentinvention more clearly, the following briefly describes the accompanyingdrawings required for describing the embodiments. Apparently, theaccompanying drawings in the following description show merely someembodiments of the present invention, and a person of ordinary skill inthe art may still derive other drawings from these accompanying drawingswithout creative efforts.

FIG. 1 to FIG. 3 are schematic diagrams of an existing 3D display effectaccording to an embodiment of the present invention;

FIG. 4 is a schematic flowchart of a 3D display method according to anembodiment of the present invention;

FIG. 5 and FIG. 6 are schematic diagrams of an angle according to anembodiment of the present invention;

FIG. 7 is a schematic diagram of a 3D display effect according to anembodiment of the present invention;

FIG. 8 is a schematic structural diagram of a user terminal according toan embodiment of the present invention;

FIG. 9 is a schematic structural diagram of another user terminalaccording to an embodiment of the present invention; and

FIG. 10 is a schematic structural diagram of still another user terminalaccording to an embodiment of the present invention.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

To make the objectives, technical solutions, and advantages of thepresent invention clearer, the following further describes the technicalsolutions of the embodiments of the present invention with reference tothe accompanying drawings.

To help understand the embodiments of the present invention, thefollowing describes technical terms used during implementation of thepresent invention.

A two-dimensional (2D) display is a display that may display atwo-dimensional planar image. Currently, some 2D displays may perform 3Ddisplay by displaying an image of a 3D model. An image displayed during3D display can be three-dimensional and vivid without being limited on aplane of a screen any longer, thereby enabling a viewer to feelpersonally on the scene.

A three-dimensional (3D) display is a display that performs 3D displayby taking advantage of a feature that parallax exists between both eyesof a human. For example, the 3D display may perform 3D display by usinga glass-type 3D display technology (that is, a display technology inwhich a pair of glasses, a helmet, or another auxiliary tool needs to beworn to obtain a vivid three-dimensional image with a spatial depth) toa naked-eye 3D display technology (that is, a display technology inwhich a vivid three-dimensional image with a spatial depth can beobtained without the need to wear a pair of glasses, a helmet, oranother auxiliary tool). The glass-type 3D display technology mayfurther include technologies such as an anaglyphic 3D displaytechnology, an active shutter 3D display technology, and a polarized 3Ddisplay technology. The naked-eye 3D display technology may furtherinclude technologies such as a light barrier 3D display technology, alenticular lens 3D display technology, and a directional backlight 3Ddisplay technology.

A naked-eye 3D display is a display using a naked-eye 3D displaytechnology, and belongs to one of 3D displays.

A holographic display is a display that performs 3D display by using aholographic technology. The holographic technology is a technology thatreproduces a real three-dimensional image of an object by using adiffraction principle.

In an existing actual application, during 3D display performed by usingany display, a user terminal performs 3D display by using a fixed angleof 3D projection.

For example, in the existing actual application, when the user terminalperforms 3D display by using a 2D display, if the user terminal displaysa cuboid by using a fixed angle of 3D projection 0°, when an angle(where the angle is a medial-axis angle of view of a user) between amidpoint of both eyes of the user and a central vertical line (where thecentral vertical line in this specification is a line perpendicular to acentral location on a display screen) is equal to 0°, a display effectof the cuboid is shown in FIG. 1, and a first side surface of the cuboidis output facing the screen. The first side surface is a shadow surfaceof the cuboid in FIG. 1. When the medial-axis angle of view of the userchanges to 30°, as shown in FIG. 2, a display effect of the cuboid isthe same as the display effect in FIG. 1, that is, the first sidesurface of the cuboid is output from the front of the screen. That is,regardless of a change in a viewing angle of the user, images displayedby the user terminal by using the 2D display are always the same, and animage viewed by the user does not change. Such a 3D display effect isnot vivid and is relatively poor.

For another example, in the existing actual application, when the userterminal performs 3D display by using a holographic display, if the userterminal displays an image by using a fixed angle of 3D projection 0°,when an angle between a midpoint of both eyes of a user and a centralvertical line is equal to 0°, a viewing effect of the displayed imageviewed by the user is optimal. When a medial-axis angle of view of theuser is not 0°, the user may not see the displayed image clearly, and athree-dimensional effect of the viewed image is not good.

For another example, in the existing actual application, when the userterminal performs 3D display by using a 3D display, there are two anglesof 3D projection of the user terminal, including a left-eye angle of 3Dprojection and a right-eye angle of 3D projection. If the user terminalperforms 3D display by using a fixed left-eye angle of 3D projection −5°and a fixed right-eye angle of 3D projection 5°, as shown in FIG. 3,when an angle (where the angle is a left-eye angle of view of a user)between a midpoint of a left-eye pupil of the user and a centralvertical line is equal to −5°, and an angle (where the angle is aright-eye angle of view of the user) between a midpoint of a right-eyepupil of the user and the central vertical line is 5°, a viewing effectof a displayed image viewed by the user is optimal. When the left-eyeangle of view of the user is not −5° and the right-eye angle of view ofthe user is not 5°, the user may not see the displayed image clearly,and a three-dimensional effect of the viewed image is not good.

In the existing actual application, the user terminal performs 3Ddisplay by using a fixed angle of 3D projection, user experience of 3Ddisplay is relatively poor and the display needs to be further improved.

To resolve the foregoing problem of relatively poor 3D display effect,the present invention provides a 3D display method and a user terminal.The user terminal may be a terminal such as a mobile phone, a tabletcomputer, a personal computer (PC), a PDA (Personal Digital Assistant),a television, an in-vehicle computer, or a wearable device (such as asmartwatch). The user terminal may have a 2D display, a 3D display, aholographic display, or another display applicable to 3D display. Thisis not limited in this embodiment of the present invention.

Referring to FIG. 4, FIG. 4 is a schematic flowchart of a 3D displaymethod according to an embodiment of the present invention. As shown inFIG. 4, the 3D display method may include steps 401 to 403.

In the part 401, a user terminal detects a viewing angle of a user for adisplay screen.

In an optional implementation, the viewing angle in the part 401 may bea medial-axis angle of view of the user, that is, an angle between amidpoint of both eyes of the user and a central vertical line. Forexample, the medial-axis angle of view may be shown in FIG. 2.

In an optional implementation, the viewing angle in the part 401 mayinclude a left-eye angle of view and a right-eye angle of view. Theleft-eye angle of view is an angle between a midpoint of a left-eyepupil and a central vertical line, and the right-eye angle of view is anangle between a midpoint of a right-eye pupil and the central verticalline. For example, the left-eye angle of view and the right-eye angle ofview may be shown in FIG. 3.

In an optional implementation, when the viewing angle in the part 401 isa medial-axis angle of view of the user, a specific implementation ofthe part 401 may include parts 11) and 12). Certainly, the user terminalmay alternatively detect the medial-axis angle of view of the user inanother manner. This is not limited in this embodiment of the presentinvention. The parts 11) and 12) are as follows.

11) The user terminal detects an angle of inclination of the userterminal relative to a plumb line, an angle of rotation at which theuser terminal rotates around an axis of symmetry, and an angle betweenthe midpoint of both eyes and a camera.

12) The user terminal performs calculation based on the angle ofinclination, the angle of rotation, and the angle between the midpointof both eyes and the camera, to obtain the medial-axis angle of view ofthe user.

By means of implementing this implementation, the user terminal canaccurately determine the medial-axis angle of view of the user.

In this implementation, the medial-axis angle of view (that is, theangle between the midpoint of both eyes and the central vertical line)of the user, the angle of inclination of the user terminal relative tothe plumb line, and the angle between the midpoint of both eyes and thecamera may be shown in FIG. 5.

As shown in FIG. 5, the angle of inclination of the user terminalrelative to the plumb line is an angle between the axis of symmetry ofthe user terminal and the plumb line. The plumb line is a line in adirection same as a direction of gravity.

As shown in FIG. 5, the angle between the midpoint of both eyes and thecamera is an angle between a line that vertically runs through thecamera and that is parallel to the central vertical line and themidpoint of both eyes.

In this implementation, the angle of rotation at which the user terminalrotates around the axis of symmetry may be shown in FIG. 6. FIG. 6 is aschematic top view of the user terminal. As shown in FIG. 6, if an angleof the user terminal at a first location is 0°, and the user terminalrotates around the axis of symmetry to a second location, the angle ofrotation at which the user terminal rotates around the axis of symmetryis an angle between the first location and the second location.

In an optional implementation, the angle of inclination of the userterminal relative to the plumb line may be detected by using a gyroscopeor a gravity sensor. Certainly, the angle of inclination may bealternatively detected by using another instrument. This is not limitedin this embodiment of the present invention.

In an optional implementation, the angle of rotation at which the userterminal rotates around the axis of symmetry may be detected by using agyroscope. Certainly, the angle of rotation may be alternativelydetected by using another instrument. This is not limited in thisembodiment of the present invention.

In an optional implementation, a specific implementation of detecting,by the user terminal, the angle between the midpoint of both eyes andthe camera may be taking, by the user terminal, a photograph of the userby using the camera, and analyzing the photograph that is taken toobtain a distance between both eyes of the user, and obtaining, by theuser terminal, the angle between the midpoint of both eyes and thecamera based on a distance between the midpoint of both eyes and thecamera and the distance between both eyes. The distance between themidpoint of both eyes and the camera may be detected by using a distancesensor (such as an infrared distance sensor or an ultrasonic distancesensor).

How the user terminal obtains the angle between the midpoint of botheyes and the camera based on the distance between both eyes and thedistance between the midpoint of both eyes and the camera is atechnology known in the art. Details are not described herein.

In an optional implementation, the user terminal may include a primarycamera and at least one secondary camera. If the angle between themidpoint of both eyes and the camera in the parts 11) and 12) is anangle between the midpoint of both eyes and the primary camera, aspecific implementation of detecting, by the user terminal, an anglebetween the midpoint of both eyes and the primary camera may becontrolling, by the user terminal, the secondary camera and the primarycamera to take photographs at the same time, obtaining, by the userterminal, the distance between the midpoint of both eyes and the cameraand the distance between both eyes based on the photographs taken by thesecondary camera and the primary camera, and obtaining, by the userterminal, the angle between the midpoint of both eyes and the primarycamera based on the distance between the midpoint of both eyes and theprimary camera and the distance between both eyes. How the user terminalobtains the distance between the midpoint of both eyes and the cameraand the distance between both eyes based on the photographs taken by thesecondary camera and the primary camera is a technology known in theart. Details are not described herein.

Certainly, the angle between the midpoint of both eyes of the user andthe camera may be alternatively detected by using another instrument.This is not limited in this embodiment of the present invention.

In an optional implementation, the user terminal performs the parts 11)and 12) only during 3D display. When performing the part 11), the userterminal may detect in real time the angle of inclination of the userterminal relative to the plumb line, the angle of rotation at which theuser terminal rotates around the axis of symmetry, and the angle betweenthe midpoint of both eyes and the camera. In this way, after themedial-axis angle of view of the user changes, the user terminal candetect a new medial-axis angle of view of the user in a timely manner,and further, adjust an angle of 3D projection based on the newmedial-axis angle of view in a timely manner.

In an optional implementation, when performing the part 11), the userterminal may detect in real time the angle of inclination of the userterminal relative to the plumb line, and the angle of rotation at whichthe user terminal rotates around the axis of symmetry. The user terminalmay further detect whether a change in the angle of inclination or theangle of rotation exceeds a preset angle. The user terminal detects theangle between the midpoint of both eyes of the user and the camera onlywhen the user terminal detects that the change in the angle ofinclination or the angle of rotation exceeds the preset angle. In thisway, during 3D display, the camera may not need to remain enabled totake photographs of the user to calculate the angle between the midpointof both eyes of the user and the camera, thereby helping save a CPUresource.

Optionally, a specific implementation of detecting, by the userterminal, whether a change in the angle of inclination or the angle ofrotation is greater than a preset angle may be determining, by the userterminal, whether an absolute value of a difference between a mostrecently detected angle of inclination and a first angle of inclinationexceeds the preset angle, where the first angle of inclination is anangle of inclination that is detected when the angle between themidpoint of both eyes of the user and the camera is detected last time,or determining, by the user terminal, whether an absolute value of adifference between a most recently detected angle of rotation and afirst angle of rotation exceeds the preset angle, where the first angleof rotation is an angle of rotation that is detected when the anglebetween the midpoint of both eyes of the user and the camera is detectedlast time.

In an optional implementation, when performing the part 11), the userterminal may detect, by using a preset time period, the angle ofinclination of the user terminal relative to the plumb line, the angleof rotation at which the user terminal rotates around the axis ofsymmetry, and the angle between the midpoint of both eyes and thecamera. In this way, the angle of inclination, the angle of rotation,and the angle between the midpoint of both eyes and the camera do notneed to be detected constantly, thereby helping save a CPU resource.

In an optional implementation, when performing the part 12), the userterminal may specifically perform calculation according to the followingformula 1 to obtain the medial-axis angle of view.

Formula 1: θ=√{square root over (α²+β²)}+x*λ. θ is the medial-axis angleof view. α is the angle of inclination of the user terminal relative tothe plumb line. β is the angle of rotation at which the user terminalrotates around the axis of symmetry. x is a correction parameter of thepreset angle. λ is an angle between the midpoint of both eyes and acamera.

In an optional implementation, when performing the part 12), the userterminal may specifically perform calculation according to the followingformula 2 to obtain the medial-axis angle of view.

Formula 2: θ=√{square root over ((α−ε)²+β²)}+x*λ. θ is the medial-axisangle of view. α is the angle of inclination of the user terminalrelative to the plumb line. β is the angle of rotation at which the userterminal rotates around the axis of symmetry. x is a correctionparameter of the preset angle. λ is an angle between the midpoint ofboth eyes and a camera. ε is a preset angle value, or may be anempirical value. For example, ε may be 45° or 40°.

By means of the formula 1 and the formula 2, the user terminal canaccurately determine the medial-axis angle of view.

Certainly, the user terminal may not perform calculation by using theforegoing formula 1 and formula 2 to obtain the medial-axis angle ofview. This is not limited in this embodiment of the present invention.

In the part 402, the user terminal determines an angle of 3D projectionbased on the viewing angle detected in the part 401.

In an optional implementation, when the viewing angle detected in thepart 401 is a medial-axis angle of view, a specific implementation ofthe part 402 may be determining, by the user terminal, the detectedmedial-axis angle of view as the angle of 3D projection.

For example, if the user terminal performs 3D display by using a 2Ddisplay or a holographic display, after detecting the medial-axis angleof view, the user terminal may directly determine the medial-axis angleof view as the angle of 3D projection.

Certainly, when the user terminal performs 3D display by using a displayother than the 2D display and the holographic display, after detectingthe medial-axis angle of view, the user terminal may also directlydetermine the medial-axis angle of view as the angle of 3D projection.This is not limited in this embodiment of the present invention.

In an optional implementation, the angle of 3D projection may include aleft-eye angle of 3D projection and a right-eye angle of 3D projection.When the viewing angle detected in the part 401 is a medial-axis angleof view, a specific implementation of the part 402 may be determining,by the user terminal, the left-eye angle of 3D projection based on thedetected medial-axis angle of view and a preset left-eye angle ofadjustment, and determining, by the user terminal, the right-eye angleof 3D projection based on the detected medial-axis angle of view and apreset right-eye angle of adjustment.

The preset left-eye angle of adjustment and the preset right-eye angleof adjustment may be empirical values. For example, the preset left-eyeangle of adjustment may be 3°, and the preset right-eye angle ofadjustment may be −3°.

In this implementation, it may be understood that the user terminalobtains a left-eye angle of view of the user based on the medial-axisangle of view of the user and the preset left-eye angle of adjustment,and the user terminal determines the left-eye angle of view of the userthat is obtained by means of calculation as the left-eye angle of 3Dprojection. Similarly, the user terminal obtains a right-eye angle ofview of the user based on the medial-axis angle of view of the user andthe preset left-eye angle of adjustment, and the user terminaldetermines the right-eye angle of view of the user that is obtained bymeans of calculation as the left-eye angle of 3D projection. Certainly,the user terminal may alternatively obtain the left-eye angle of view ofthe user and the right-eye angle of view of the user based on themedial-axis angle of view of the user in another manner. This is notlimited in this embodiment of the present invention.

In an optional implementation, the user terminal may store a pluralityof preset left-eye angles of adjustment and a plurality of presetright-eye angles of adjustment. The user terminal may prestore acorrespondence between a preset medial-axis angle of view and a presetleft-eye angle of adjustment. The user terminal may prestore acorrespondence between a preset medial-axis angle of view and a presetright-eye angle of adjustment. After detecting the medial-axis angle ofview of the user, the user terminal obtains the prestored presetleft-eye angle of adjustment and preset right-eye angle of adjustmentthat correspond to the medial-axis angle of view, and determines theleft-eye angle of 3D projection and the right-eye angle of 3D projectionbased on the medial-axis angle of view, and the preset left-eye angle ofadjustment and the preset right-eye angle of adjustment that correspondto the medial-axis angle of view. For example, the user terminal mayprestore in such a manner that a preset medial-axis angle of view 0°corresponds to a preset left-eye angle of adjustment 3°, and a presetmedial-axis angle of view 10° corresponds to a preset left-eye angle ofadjustment 4°. The user terminal may prestore in such a manner that thepreset medial-axis angle of view 0° corresponds to a preset right-eyeangle of adjustment −3°, and the preset medial-axis angle of view 10°corresponds to a preset right-eye angle of adjustment −4°. Afterdetecting that the medial-axis angle of view of the user is 0°, the userterminal obtains the prestored preset left-eye angle of adjustment 3°and preset right-eye angle of adjustment −3° that correspond to themedial-axis angle of view 0°, and determines the left-eye angle of 3Dprojection and the right-eye angle of 3D projection based on themedial-axis angle of view 0°, and the preset left-eye angle ofadjustment 3°, and the preset right-eye angle of adjustment −3°.

In an optional implementation, a specific implementation of determining,by the user terminal, the left-eye angle of 3D projection based on themedial-axis angle of view and the preset left-eye angle of adjustmentmay be that the user terminal may determine a difference (that is, theleft-eye angle of view of the user terminal) between the medial-axisangle of view and the preset left-eye angle of adjustment as theleft-eye angle of 3D projection. A specific implementation ofdetermining, by the user terminal, the right-eye angle of 3D projectionbased on the medial-axis angle of view and the preset right-eye angle ofadjustment may be that the user terminal may determine a difference(that is, the right-eye angle of view of the user terminal) between themedial-axis angle of view and the preset right-eye angle of adjustmentas the right-eye angle of 3D projection. For example, the medial-axisangle of view of the user is 0°, the preset left-eye angle of adjustmentmay be 3°, and the preset right-eye angle of adjustment may be −3°. Inthis case, the user terminal may subtract 3° from 0° to obtain theleft-eye angle of 3D projection being −3°, and subtract −3° from 0° toobtain the right-eye angle of 3D projection being 3°.

In an optional implementation, when the viewing angle detected in thepart 401 includes a left-eye angle of view and a right-eye angle ofview, a specific implementation of the part 402 may be determining thedetected left-eye angle of view as the left-eye angle of 3D projection,and determining the detected right-eye angle of view as the right-eyeangle of 3D projection.

In the part 403, the user terminal performs, based on the angle of 3Dprojection, 3D display on content that needs to be displayed.

Specifically, after detecting the angle of 3D projection, the userterminal performs, based on the angle of 3D projection, a drawingoperation on the content that needs to be displayed, and displaying adrawing result by using a corresponding display.

In an optional implementation, if the user terminal determines themedial-axis angle of view as the angle of 3D projection, a specificimplementation of the part 403 may be performing, by the user terminalbased on the angle of 3D projection, drawing on the content that needsto be displayed, and displaying a drawing result by using a 2D display.

Specifically, after determining the medial-axis angle of view as theangle of 3D projection, the user terminal may send the angle of 3Dprojection to a graphics processing unit (GPU) of the user terminal.After obtaining the angle of 3D projection, the GPU performs, based onthe angle of 3D projection, drawing on the content that needs to bedisplayed, and displays the drawing result by using the 2D display.

Optionally, a specific implementation of performing, by the GPU based onthe angle of 3D projection, drawing on the content that needs to bedisplayed, and displaying the drawing result by using the 2D display maybe rasterizing, by the GPU to a framebuffer based on the angle of 3Dprojection, the content that needs to be displayed, and displaying adrawing result in the framebuffer by using the 2D display. Optionally,the GPU may alternatively perform, based on the angle of 3D projectionin another manner, drawing on the content that needs to be displayed.This is not limited in this embodiment of the present invention.

In an optional implementation, if the user terminal determines themedial-axis angle of view as the angle of 3D projection, a specificimplementation of the part 403 may be performing, by the user terminalbased on the angle of 3D projection, drawing on the content that needsto be displayed, and displaying a drawing result by using a holographicdisplay.

Specifically, after determining the medial-axis angle of view as theangle of 3D projection, the user terminal may send the angle of 3Dprojection to a GPU of the user terminal. After obtaining the angle of3D projection, the GPU performs, based on the angle of 3D projection,drawing on the content that needs to be displayed, and displays thedrawing result by using the holographic display after the drawing iscompleted.

In an optional implementation, the performing, by the GPU based on theangle of 3D projection, drawing on the content that needs to bedisplayed may be implemented by using the following function:glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z). angle is theangle of 3D projection. The function glRotatef (GLfloat angle, GLfloatx, GLfloat y, GLfloat z) is used to rotate a current coordinate systemby an angle of angle by using a vector a (x, y, z) as an axis ofrotation.

In an optional implementation, if the angle of 3D projection includes aleft-eye angle of 3D projection and a right-eye angle of 3D projection,a specific implementation of the part 403 may be performing, by the userterminal based on the left-eye angle of 3D projection and the right-eyeangle of 3D projection, drawing on the content that needs to bedisplayed, and displaying a drawing result by using a 3D display. The 3Ddisplay may be a naked-eye 3D display or a 3D display that needs to beviewed by wearing a pair of glasses, a helmet, or another auxiliarytool.

Specifically, after determining the left-eye angle of 3D projection andthe right-eye angle of 3D projection, the user terminal may send theleft-eye angle of 3D projection and the right-eye angle of 3D projectionto a GPU of the user terminal. The GPU performs, based on the left-eyeangle of 3D projection and the right-eye angle of 3D projection, drawingon the content that needs to be displayed, and displays the drawingresult by using the 3D display.

Optionally, a specific implementation of performing, by the GPU based onthe left-eye angle of 3D projection and the right-eye angle of 3Dprojection, drawing on the content that needs to be displayed may berasterizing, by the GPU to a framebuffer based on the left-eye angle of3D projection, the content that needs to be displayed, and rasterizing,to another framebuffer based on the right-eye angle of 3D projection,the content that needs to be displayed. Correspondingly, the 3D displaydisplays drawing results in the two framebuffers. Optionally, the GPUmay alternatively perform, based on the left-eye angle of 3D projectionand the right-eye angle of 3D projection in another manner, the contentthat needs to be displayed. This is not limited in this embodiment ofthe present invention.

In an optional implementation, the performing, by the GPU based on theleft-eye angle of 3D projection, drawing on the content that needs to bedisplayed may be implemented by using the following function:glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z). angle is theleft-eye angle of 3D projection. The function glRotatef (GLfloat angle,GLfloat x, GLfloat y, GLfloat z) is used to rotate a current coordinatesystem by an angle of angle by using a vector a (x, y, z) as an axis ofrotation.

Similarly, the performing, by the GPU based on the right-eye angle of 3Dprojection, the content that needs to be displayed may be implemented byusing the following function: glRotatef(GLfloat angle, GLfloat x,GLfloat y, GLfloat z). angle is the right-eye angle of 3D projection.

The following further describes this embodiment of the present inventionby using specific application scenarios 1 to 4.

An application scenario 1: The user terminal performs 3D display on acuboid by using a 2D display. When the user terminal detects that themedial-axis angle of view of the user is 0°, the user terminaldetermines 0° as the angle of 3D projection. The user terminal performsdrawing on the cuboid based on the angle of 3D projection 0°, anddisplays, by using the 2D display, the cuboid obtained by means ofdrawing. The display result may be shown in FIG. 1. When the userterminal detects that the medial-axis angle of view of the user is 30°,the user terminal determines 30° as the angle of 3D projection. The userterminal performs drawing on the cuboid based on the angle of 3Dprojection 30°, and displays, by using the 2D display, the cuboidobtained by means of drawing. The display result may be shown in FIG. 7.

An application scenario 2: The user terminal performs 3D display on acuboid by using a holographic display. When the user terminal detectsthat the medial-axis angle of view of the user is 0°, the user terminaldetermines 0° as the angle of 3D projection. The user terminal performsdrawing on the cuboid based on the angle of 3D projection 0°, anddisplays, by using the holographic display, the cuboid obtained by meansof drawing. When the user terminal detects that the medial-axis angle ofview of the user is 30°, the user terminal determines 300 as the angleof 3D projection. The user terminal performs drawing on the cuboid basedon the angle of 3D projection 30°, and displays, by using theholographic display, the cuboid obtained by means of drawing.

An application scenario 3: The user terminal performs 3D display byusing a 3D display. The user terminal may detect the left-eye angle ofview and the right-eye angle of view of the user, determine the left-eyeangle of view as the left-eye angle of 3D projection, and determine theright-eye angle of view as the right-eye angle of 3D projection. Forexample, if the user terminal detects that the left-eye angle of view ofthe user is −5° and the right-eye angle of view of the user is 5°, theuser terminal determines −5° as the left-eye angle of 3D projection,determines 5° as the right-eye angle of 3D projection, performs drawingon the cuboid based on the left-eye angle of 3D projection −5° and theright-eye angle of 3D projection 5°, and displays, by using the 3Ddisplay, the cuboid obtained by means of drawing. If the user terminaldetects that the left-eye angle of view of the user is 10° and theright-eye angle of view of the user is 20°, the user terminal determines10° as the left-eye angle of 3D projection, determines 20° as theright-eye angle of 3D projection, performs drawing on the cuboid basedon the left-eye angle of 3D projection 100 and the right-eye angle of 3Dprojection 200, and displays, by using the 3D display, the cuboidobtained by means of drawing.

An application scenario 4: The user terminal performs 3D display byusing a 3D display. The user terminal detects the left-eye angle of viewand the right-eye angle of view based on the medial-axis angle of view.A preset left-eye adjustment angle of view prestored in the userterminal is 5°, and a preset right-eye adjustment angle of viewprestored in the user terminal is −5°. When the user terminal detectsthat the medial-axis angle of view of the user is 0°, the user terminalsubtracts 5° from 0°, to obtain the left-eye angle of view −5°, anddetermines the left-eye angle of view −5° as the left-eye angle of 3Dprojection, and the user terminal subtracts −5° from 0°, to obtain theright-eye angle of view 5°, and determines the right-eye angle of view5° as the right-eye angle of 3D projection. The user terminal performsdrawing on the cuboid based on the left-eye angle of 3D projection −5°and the right-eye angle of 3D projection 5°, and displays, by using the3D display, the cuboid obtained by means of drawing. Similarly, when theuser terminal detects that the medial-axis angle of view of the user is15°, the user terminal subtracts 5° from 15°, to obtain the left-eyeangle of 3D projection 10°, and subtracts −5° from 15°, to obtain theright-eye angle of 3D projection 20°. The user terminal performs drawingon the cuboid based on the left-eye angle of 3D projection 10° and theright-eye angle of 3D projection 20°, and displays, by using the 3Ddisplay, the cuboid obtained by means of drawing.

It can be learned that by means of implementing the 3D display methodprovided in FIG. 4, the user terminal performs 3D display by usingdifferent angles of 3D projection as the viewing angle of the uservaries, so that a 3D display effect can be vivider and a 3D image viewedby the user can be clearer, thereby improving the 3D display effect.

In this embodiment of the present invention, functional unit divisionmay be performed for the user terminal based on the foregoing methodexamples. For example, the functional unit division may be performedcorresponding to the functions, or two or more functions may beintegrated in one unit. The integrated unit may be implemented in a formof hardware, or may be implemented in a form of a software functionalunit. It should be noted that unit division in this embodiment of thepresent invention is an example and is merely logical function division.During actual implementation, there may be another division manner.

Referring to FIG. 8, FIG. 8 is a schematic structural diagram of a userterminal according to an embodiment of the present invention. As shownin FIG. 8, the user terminal includes a detection module 801, adetermining module 802, and a display module 803.

The detection module 801 is configured to detect a viewing angle of auser for a display screen.

The determining module 802 is configured to determine an angle of 3Dprojection based on the viewing angle.

The display module 803 is configured to perform, based on the angle of3D projection, 3D display on content that needs to be displayed.

In an optional implementation, the viewing angle detected by thedetection module 801 is a medial-axis angle of view, the medial-axisangle of view is an angle between a midpoint of both eyes and a centralvertical line, and the central vertical line is a line perpendicular toa central location on the display screen.

In an optional implementation, when the viewing angle detected by thedetection module 801 is a medial-axis angle of view, the determiningmodule 802 is specifically configured to determine the medial-axis angleof view as the angle of 3D projection.

In an optional implementation, if the determining module 802 isspecifically configured to determine the medial-axis angle of view asthe angle of 3D projection, the display module 803 is specificallyconfigured to perform, based on the angle of 3D projection, drawing onthe content that needs to be displayed, and display a drawing result byusing a 2D display or a holographic display.

In an optional implementation, the angle of 3D projection includes aleft-eye angle of 3D projection and a right-eye angle of 3D projection,and when the viewing angle detected by the detection module 801 is amedial-axis angle of view, the determining module 802 is specificallyconfigured to determine the left-eye angle of 3D projection based on themedial-axis angle of view detected by the detection module 801 and apreset left-eye angle of adjustment, and determine the right-eye angleof 3D projection based on the medial-axis angle of view detected by thedetection module 801 and a preset right-eye angle of adjustment.

In an optional implementation, when the viewing angle detected by thedetection module 801 includes a left-eye angle of view and a right-eyeangle of view, the left-eye angle of view is an angle between a midpointof a left-eye pupil and a central vertical line, and the right-eye angleof view is an angle between a midpoint of a right-eye pupil and thecentral vertical line.

In an optional implementation, the angle of 3D projection includes aleft-eye angle of 3D projection and a right-eye angle of 3D projection,and when the viewing angle detected by the detection module 801 includesa left-eye angle of view and a right-eye angle of view, the determiningmodule is specifically configured to determine the left-eye angle ofview detected by the detection module 801 as the left-eye angle of 3Dprojection, and determine the right-eye angle of view detected by thedetection module 801 as the right-eye angle of 3D projection.

In an optional implementation, when the angle of 3D projection includesthe left-eye angle of 3D projection and the right-eye angle of 3Dprojection, the display module is specifically configured to perform,based on the left-eye angle of 3D projection and the right-eye angle of3D projection, drawing on the content that needs to be displayed, anddisplay a drawing result by using a 3D display.

The detection module 80 o is configured to perform the method of step401 in FIG. 4 of the method embodiment of the present invention. For animplementation of the detection module 801, refer to the descriptioncorresponding to step 401 in FIG. 4 of the method embodiment of thepresent invention. Details are not described herein again. Thedetermining module 802 is configured to perform the method of step 402in FIG. 4 of the method embodiment of the present invention. For animplementation of the determining module 802, refer to the descriptioncorresponding to step 402 in FIG. 4 of the method embodiment of thepresent invention. Details are not described herein again. The displaymodule 803 is configured to perform the method of step 403 in FIG. 4 ofthe method embodiment of the present invention. For an implementation ofthe display module 803, refer to the description corresponding to step403 in FIG. 4 of the method embodiment of the present invention. Detailsare not described herein again.

Further referring to FIG. 9, FIG. 9 is a schematic structural diagram ofanother user terminal according to an embodiment of the presentinvention. The user terminal shown in FIG. 9 is an optimization of theuser terminal shown in FIG. 8. The user terminal shown in FIG. 9includes all the modules shown in FIG. 8. The detection module 801 ofthe user terminal in FIG. 9 includes a detection unit 8011 and acalculation unit 8012.

The detection unit 8011 is configured to detect an angle of inclinationof the user terminal relative to a plumb line, an angle of rotation atwhich the user terminal rotates around an axis of symmetry, and an anglebetween the midpoint of both eyes and a camera.

The calculation unit 8012 is configured to perform calculation based onthe angle of inclination, the angle of rotation, and the angle betweenthe midpoint of both eyes and the camera, to obtain the medial-axisangle of view.

In an optional implementation, the detection unit 8011 is specificallyconfigured to detect the angle of inclination of the user terminalrelative to the plumb line, and the angle of rotation at which the userterminal rotates around the axis of symmetry, and detect the anglebetween the midpoint of both eyes and the camera when it is detectedthat a change in the angle of inclination or the angle of rotation isgreater than a preset angle.

For specific implementations of the detection unit 8011 and thecalculation unit 8012, refer to the descriptions corresponding to theforegoing method embodiment. For ease of description, details are notdescribed herein again.

Based on a same inventive concept, a principle of resolving a problem bya user terminal in a 3D display method provided in this embodiment ofthe present invention is similar to that of the 3D display method in themethod embodiment of the present invention. Therefore, for animplementation of the user terminal, refer to the implementation of themethod. For ease of description, details are not described herein again.

An embodiment of the present invention further provides a user terminal.In an example, the user terminal is a mobile phone. FIG. 10 is a blockdiagram of a partial structure of the mobile phone 1000 related to thisembodiment of the present invention. Referring to FIG. 10, the mobilephone 1000 includes components such as an RF (radio frequency) circuit1001, a memory 1002, another input device 1003, a display screen 1004, asensor 1005, an audio circuit 1006, an I/O subsystem 1007, a processor1008, and a power supply 1009. A person skilled in the art mayunderstand that the structure of the mobile phone shown in FIG. 10 doesnot constitute a limitation to the mobile phone, and the mobile phonemay include more components or fewer components than those shown in thefigure, or some components may be combined, or some components may beseparated, or a different component deployment may be used.

The following specifically describes the components of the mobile phone1000 with reference to FIG. 10.

The RF circuit 1001 may be configured to receive and send signals duringan information receiving and sending process or a call process.Specifically, the RF circuit 1001 receives downlink information from abase station, then delivers the downlink information to the processor1008 for processing, and sends related uplink data to the base station.Generally, the RF circuit includes but is not limited to an antenna, atleast one amplifier, a transceiver, a coupler, an LNA (low noiseamplifier), a duplexer, and the like. In addition, the RF circuit 1001may also communicate with a network and another device by means ofwireless communication. The wireless communication may use anycommunications standard or protocol, including but not limited to, GSM(Global system for mobile communications), GPRS (general packet radioservice), CDMA (Code Division Multiple Access), WCDMA (Wideband CodeDivision Multiple Access), LTE (Long Term Evolution), email, SMS (shortmessaging service), and the like.

The memory 1002 may be configured to store computer executable programcode. The program code includes an instruction. The processor 1008executes a software program stored in the memory 1002 and a module, toimplement various functional applications of the mobile phone 1000 anddata processing. A program storage area may store an operating system,an application program required by at least one function (such as asound playback function and an image display function), and the like. Adata storage area may store data (such as audio data and a telephonedirectory) created based on use of the mobile phone 1000, and the like.In addition, the memory 1002 may include a ROM and a RAM, and mayfurther include a high-speed random access memory, a non-volatilememory, such as at least one magnetic disk storage device, a flashmemory, or other volatile solid-state storage devices.

The another input device 1003 may be configured to receive input digitor character information, and generate a signal input related to a usersetting and functional control of the mobile phone 1000. Specifically,the another input device 1003 may include but is not limited to one ormore of a physical keyboard, a functional button (such as a sound volumecontrol button or a power button), a trackball, a mouse, a joystick, andan optical mouse (where the optical mouse is a touch-sensitive surfacethat does not display a visible output, or an extension of atouch-sensitive surface including a touchscreen). The another inputdevice 1003 is connected to another input device controller 171 of theI/O subsystem 1007, and exchange, under control of the another deviceinput controller 171, signals with the processor 1008.

The display screen 1004 may be configured to display information inputby the user or information provided for the user, and various menus ofthe mobile phone 1000, or may receive an input by the user. For example,the display screen 1004 may display information that needs to bedisplayed in the foregoing method embodiment, for example, an unreaddedicated message, a selection list including message options, aselection list including a plurality of time period options, a jump-uparrow, or a jump-down arrow. Specifically, the display screen 1004 mayinclude a display panel 141 and a touch panel 142. The display panel 141may be configured by using an LCD (liquid crystal display), or an OLED(organic light-emitting diode), or in another form. The touch panel 142is also referred to as a touchscreen, a touch-sensitive screen, or thelike, and may collect a contact or non-contact operation of a user on ornear the touch panel 142 (such as an operation of a user on or near thetouch panel 142 by using any suitable object or attachment, such as afinger or a touch pen, or a motion sensing operation may be included.The operation includes a single-point control operation, a multi-pointcontrol operation, another type of operation, or the like. In addition,a corresponding connecting apparatus is driven based on a presetprogram. Optionally, the touch panel 142 may include two parts,including a touch detection apparatus and a touch controller. The touchdetection apparatus detects a touch location and a gesture of the user,detects a signal generated by the touch operation, and transfers thesignal to the touch controller. The touch controller receives the touchinformation from the touch detection apparatus, converts the touchinformation into information that can be processed by the processor, andthen sends the information to the processor 1008. In addition, the touchcontroller can receive a command sent by the processor 1008 and executethe command In addition, the touch panel 142 may be implemented by usingvarious types, such as a resistive type, a capacitance type, an infraredtype, and a surface sound wave type. Alternatively, the touch panel 142may be implemented by using any technology developed in the future.Further, the touch panel 142 may cover the display panel 141. The usermay perform, based on content displayed on the display panel 141 (wherethe displayed content includes but is not limited to a soft keyboard, avirtual mouse, a virtual key, an icon, or the like), an operation on ornear the touch panel 142 covering the display panel 141. After detectingthe touch operation on or near the touch panel 142, the touch panel 142transfers the touch operation to the processor 1008 by using the I/Osubsystem 1007 to determine a type of a touch event, to determine a userinput. Subsequently, the processor 1008 provides a corresponding visualoutput on the display panel 141 based on the type of the touch event andbased on the user input by using the I/O subsystem 1007. Although inFIG. 10, the touch panel 142 and the display panel 141 are used as twoseparate components to implement input and output functions of themobile phone 1000, in some embodiments, the touch panel 142 and thedisplay panel 141 may be integrated to implement the input and outputfunctions of the mobile phone 1000.

The mobile phone 1000 may further include at least one type of sensor1005, such as a fingerprint sensor, an optical sensor, a motion sensor,a gravity sensor, a gyroscope, and another sensor. Specifically, theoptical sensor may include an ambient light sensor and a proximitysensor. The ambient light sensor may adjust luminance of the displaypanel 141 based on brightness of the ambient light. The proximity sensormay switch off the display panel 141 and/or backlight when the mobilephone 1000 is moved to the ear. As one type of motion sensor, anacceleration sensor may detect magnitude of accelerations in variousdirections (generally on three axes), may detect magnitude and adirection of the gravity when static, and may be configured to identifyan application of the mobile phone gesture (such as switchover betweenlandscape orientation and portrait orientation, a related game, andgesture calibration of a magnetometer), a function related to vibrationrecognition (such as a pedometer and a knock), and the like. Othersensors such as a gyroscope, a barometer, a hygrometer, a thermometer,and an infrared sensor, which may be configured in the mobile phone1000, are not further described herein.

The audio circuit 1006, a speaker 161, and a microphone 162 may provideaudio interfaces between the user and the mobile phone 1000. The audiocircuit 1006 may convert received audio data into an electrical signaland transmit the electrical signal to the speaker 161. The speaker 161converts the electrical signal into a sound signal for output. On theother hand, the microphone 162 converts a collected sound signal into anelectrical signal. The audio circuit 1006 receives the electrical signaland converts the electrical signal into audio data, and outputs theaudio data to the RF circuit 1001 to send the audio data to, forexample, another mobile phone, or outputs the audio data to the memory1002 for further processing.

The I/O subsystem 1007 is configured to control a peripheralinput/output device, and may include the another input device controller171, a sensor controller 172, a display controller 173. Optionally, oneor more other input device controllers 171 receive a signal from theanother input device 1003 and/or send a signal to the another inputdevice 1003. The another input device 1003 may include a physical button(a press button, a rocker button, or the like), a dial, a slider switch,a joystick, a click scroll wheel, and an optical mouse (where theoptical mouse is a touch-sensitive surface that does not display avisible output, or an extension of a touch-sensitive surface including atouchscreen). It should be noted that the another input devicecontroller 171 may be connected to any one or more of the foregoingdevices. The display controller 173 in the I/O subsystem 1007 receives asignal from the touchscreen 1004 or sends a signal to the touchscreen1004. After the display screen 1004 detects the input by the user, thedisplay controller 173 converts the detected input by the user into aninteraction of a user interface object displayed on the display screen1004, that is, a human-computer interaction is implemented. The sensorcontroller 172 may receive a signal from one or more sensors 1005 and/orsend a signal to one or more sensors 1005.

The processor 1008 is a control center of the mobile phone 1000, and isconnected to various parts of the mobile phone by using variousinterfaces and lines. By running or executing the software programand/or the module stored in the memory 1002, and invoking data stored inthe memory 1002, the processor 1008 performs various functions and dataprocessing of the mobile phone 1000, thereby performing overallmonitoring on the mobile phone. Optionally, the processor 1008 mayinclude one or more processing units. Preferably, the processor 1008 mayintegrate an application processor and a modem processor. Theapplication processor mainly processes an operating system, a userinterface, an application program, and the like. The modem processormainly processes wireless communication. It may be understood that theforegoing modem processor may alternatively not be integrated into theprocessor 1008. When the processor 1008 executes the instruction storedin the memory 1002, the instruction causes the mobile phone 1000 toperform the 3D display method of the embodiments of the presentinvention. For this, refer to the corresponding descriptions of theparts 401 to 403 in FIG. 4 in the foregoing method or another executionprocess of the user terminal in the foregoing method embodiment. Detailsare not described herein again. Based on a same inventive concept, aprinciple of resolving a problem by a user terminal for software programinstallation provided in this embodiment of the present invention issimilar to that of a software program installation method in the methodembodiment of the present invention. Therefore, for an implementation ofthe user terminal, refer to the implementation of the foregoing method.For ease of description, details are not described herein again.

The mobile phone 1000 further includes the power supply 1009 (such as abattery) supplying power to the components. Preferably, the power supplymay be logically connected to the processor 1008 by using a powermanagement system, so as to implement functions such as charging,discharging, and energy consumption management by using the powermanagement system.

Although not shown in the figure, the mobile phone 1000 may furtherinclude a camera, a Bluetooth module, and the like, and details are notdescribed herein.

In addition, an embodiment of the present invention further provides anon-volatile computer readable storage medium storing one or moreprograms. The non-volatile computer readable storage medium stores atleast one program, and each of the programs includes an instruction.When being executed by the user terminal provided in the embodiments ofthe present invention, the instruction causes the user terminal toperform the parts 401 to 403 in FIG. 4 in the embodiments of the presentinvention or another execution process of the user terminal in theforegoing method embodiment. For this, refer to the correspondingdescriptions of the parts 401 to 403 in FIG. 4 in the method embodimentor another execution process of the user terminal in the foregoingmethod embodiment. Details are not described herein again.

A person skilled in the art should be aware that in the foregoing one ormore examples, functions described in the present invention may beimplemented by hardware, software, firmware, or any combination thereof.When the present invention is implemented by software, the foregoingfunctions may be stored in a computer-readable medium or transmitted asone or more instructions or code in the computer-readable medium. Thecomputer-readable medium includes a computer storage medium and acommunications medium, where the communications medium includes anymedium that enables a computer program to be transmitted from one placeto another. The storage medium may be any available medium accessible toa general-purpose or dedicated computer.

The objectives, technical solutions, and benefits of the presentinvention are further described in detail in the foregoing specificembodiments. It should be understood that the foregoing descriptions aremerely specific embodiments of the present invention, but are notintended to limit the protection scope of the present invention. Anymodification, equivalent replacement, or improvement made within thespirit and principle of the present invention shall fall within theprotection scope of the present invention.

1.-44. (canceled)
 45. A method, comprising: detecting, by a userterminal, a viewing angle of a user for a display screen of the userterminal; determining, by the user terminal, an angle ofthree-dimensional (3D) projection based on the viewing angle; andperforming, based on the angle of 3D projection, 3D display of contentthat needs to be displayed.
 46. The method according to claim 45,wherein the viewing angle is a medial-axis angle of view, wherein themedial-axis angle of view is an angle between a midpoint of both eyes ofthe user and a central vertical line, and wherein the central verticalline is a line perpendicular to a central location on the displayscreen.
 47. The method according to claim 46, wherein the detecting theviewing angle comprises: detecting an angle of inclination of the userterminal relative to a plumb line, an angle of rotation at which theuser terminal rotates around an axis of symmetry, and an angle betweenthe midpoint of the both eyes and a camera; and performing calculation,based on the angle of inclination, the angle of rotation, and the anglebetween the midpoint of the both eyes and the camera, to obtain themedial-axis angle of view.
 48. The method according to claim 47, whereinthe detecting the angle of inclination of the user terminal relative tothe plumb line, the angle of rotation at which the user terminal rotatesaround the axis of symmetry, and the angle between the midpoint of theboth eyes and the camera comprises: detecting the angle of inclinationof the user terminal relative to the plumb line and the angle ofrotation at which the user terminal rotates around the axis of symmetry;and detecting the angle between the midpoint of the both eyes and thecamera when it is detected that a first change in the angle ofinclination or a second change in the angle of rotation is greater thana preset angle.
 49. The method according to claim 46, wherein the angleof 3D projection comprises a left-eye angle of 3D projection and aright-eye angle of 3D projection, and wherein the determining the angleof 3D projection based on the viewing angle comprises: determining theleft-eye angle of 3D projection based on the medial-axis angle of viewand a preset left-eye angle of adjustment; and determining the right-eyeangle of 3D projection based on the medial-axis angle of view and apreset right-eye angle of adjustment.
 50. The method according to claim49, wherein the preset left-eye angle of adjustment corresponds to themedial-axis angle of view, and there is a first prestored correspondencebetween a preset medial-axis angle of view and the preset left-eye angleof adjustment; and wherein the preset right-eye angle of adjustmentcorresponds to the medial-axis angle of view and there is a secondprestored correspondence between the preset medial-axis angle of viewand the preset right-eye angle of adjustment.
 51. The method accordingto claim 49, wherein the performing the 3D display of the content thatneeds to be displayed comprises: drawing, based on the left-eye angle of3D projection and the right-eye angle of 3D projection, the content thatneeds to be displayed; and displaying a drawing result by using the 3Ddisplay.
 52. The method according to claim 46, wherein the determiningthe angle of 3D projection based on the viewing angle comprises:determining the medial-axis angle of view as the angle of 3D projection.53. The method according to claim 52, wherein the performing, based onthe angle of 3D projection, the 3D display of the content that needs tobe displayed comprises: drawing, based on the angle of 3D projection,the content that needs to be displayed; and displaying a drawing resultby using at least one of a two-dimensional (2D) display or a holographicdisplay.
 54. The method according to claim 45, wherein the viewing anglecomprises a left-eye angle of view and a right-eye angle of view,wherein the left-eye angle of view is an angle between a midpoint of aleft-eye pupil and a central vertical line, wherein the right-eye angleof view is an angle between a midpoint of a right-eye pupil and thecentral vertical line, and wherein the central vertical line is a lineperpendicular to a central location on the display screen.
 55. Themethod according to claim 54, wherein the angle of 3D projectioncomprises a left-eye angle of 3D projection and a right-eye angle of 3Dprojection, and wherein the determining the angle of 3D projection basedon the viewing angle comprises: determining the left-eye angle of viewas the left-eye angle of 3D projection; and determining the right-eyeangle of view as the right-eye angle of 3D projection.
 56. A userterminal, comprising: a display screen; one or more processors; and anon-transitory computer-readable storage medium storing a program to beexecuted by the one or more processors, the program includinginstructions for: detecting a viewing angle of a user for the displayscreen; determining an angle of three-dimensional (3D) projection basedon the viewing angle; and performing, based on the angle of 3Dprojection, 3D display of content that needs to be displayed.
 57. Theuser terminal according to claim 56, wherein the viewing angle is amedial-axis angle of view, wherein the medial-axis angle of view is anangle between a midpoint of both eyes of the user and a central verticalline, and wherein the central vertical line is a line perpendicular to acentral location on the display screen.
 58. The user terminal accordingto claim 57, wherein the detecting the viewing angle comprises:detecting an angle of inclination of the user terminal relative to aplumb line, an angle of rotation at which the user terminal rotatesaround an axis of symmetry, and an angle between the midpoint of theboth eyes and a camera; and performing calculation, based on the angleof inclination, the angle of rotation, and the angle between themidpoint of the both eyes and the camera, to obtain the medial-axisangle of view.
 59. The user terminal according to claim 58, wherein thedetecting the angle of inclination of the user terminal relative to theplumb line, the angle of rotation at which the user terminal rotatesaround the axis of symmetry, and the angle between the midpoint of theboth eyes and the camera comprises: detecting the angle of inclinationof the user terminal relative to the plumb line and the angle ofrotation at which the user terminal rotates around the axis of symmetry;and detecting the angle between the midpoint of the both eyes and thecamera when it is detected that a first change in the angle ofinclination or a second change in the angle of rotation is greater thana preset angle.
 60. The user terminal according to claim 57, wherein theangle of 3D projection comprises a left-eye angle of 3D projection and aright-eye angle of 3D projection, and wherein the determining the angleof 3D projection based on the viewing angle comprises: determining theleft-eye angle of 3D projection based on the medial-axis angle of viewand a preset left-eye angle of adjustment; and determining the right-eyeangle of 3D projection based on the medial-axis angle of view and apreset right-eye angle of adjustment.
 61. The user terminal according toclaim 60, wherein the preset left-eye angle of adjustment corresponds tothe medial-axis angle of view and there is a first prestoredcorrespondence between a preset medial-axis angle of view and the presetleft-eye angle of adjustment; and wherein the preset right-eye angle ofadjustment corresponds to the medial-axis angle of view and there is ina second prestored correspondence between the preset medial-axis angleof view and the preset right-eye angle of adjustment.
 62. The userterminal according to claim 60, wherein the performing the 3D display ofthe content that needs to be displayed comprises: drawing, based on theleft-eye angle of 3D projection and the right-eye angle of 3Dprojection, the content that needs to be displayed; and displaying adrawing result by using the 3D display.
 63. The user terminal accordingto claim 56, wherein the viewing angle comprises a left-eye angle ofview and a right-eye angle of view, wherein the left-eye angle of viewis an angle between a midpoint of a left-eye pupil and a centralvertical line, wherein the right-eye angle of view is an angle between amidpoint of a right-eye pupil and the central vertical line, and whereinthe central vertical line is a line perpendicular to a central locationon the display screen.
 64. The user terminal according to claim 63,wherein the angle of 3D projection comprises a left-eye angle of 3Dprojection and a right-eye angle of 3D projection, and wherein thedetermining the angle of 3D projection based on the viewing anglecomprises: determining the left-eye angle of view as the left-eye angleof 3D projection; and determining the right-eye angle of view as theright-eye angle of 3D projection.